home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK2.toast / Development Kits (Disc 2) / QuickTime / QuickTime™ 2.5 / Interfaces for Programmers / PInterfaces / Components.p next >
Encoding:
Text File  |  1997-02-26  |  16.2 KB  |  479 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Components.p
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 2.5 interfaces to use with ETO #20
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Components;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __COMPONENTS__}
  28. {$SETC __COMPONENTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ComponentsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __MEMORY__}
  41. {$I Memory.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __MIXEDMODE__}
  44. {$I MixedMode.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51.  
  52. CONST
  53.     kAppleManufacturer            = 'appl';                        {  Apple supplied components  }
  54.     kComponentResourceType        = 'thng';                        {  a components resource type  }
  55.  
  56.     kAnyComponentType            = 0;
  57.     kAnyComponentSubType        = 0;
  58.     kAnyComponentManufacturer    = 0;
  59.     kAnyComponentFlagsMask        = 0;
  60.  
  61.     cmpWantsRegisterMessage        = $80000000;
  62.  
  63.     kComponentOpenSelect        = -1;                            {  ComponentInstance for this open  }
  64.     kComponentCloseSelect        = -2;                            {  ComponentInstance for this close  }
  65.     kComponentCanDoSelect        = -3;                            {  selector # being queried  }
  66.     kComponentVersionSelect        = -4;                            {  no params  }
  67.     kComponentRegisterSelect    = -5;                            {  no params  }
  68.     kComponentTargetSelect        = -6;                            {  ComponentInstance for top of call chain  }
  69.     kComponentUnregisterSelect    = -7;                            {  no params  }
  70.     kComponentGetMPWorkFunctionSelect = -8;                        {  some params  }
  71.  
  72. {  Component Resource Extension flags  }
  73.     componentDoAutoVersion        = $01;
  74.     componentWantsUnregister    = $02;
  75.     componentAutoVersionIncludeFlags = $04;
  76.     componentHasMultiplePlatforms = $08;
  77.  
  78. {  Set Default Component flags  }
  79.     defaultComponentIdentical    = 0;
  80.     defaultComponentAnyFlags    = 1;
  81.     defaultComponentAnyManufacturer = 2;
  82.     defaultComponentAnySubType    = 4;
  83.     defaultComponentAnyFlagsAnyManufacturer = 3;
  84.     defaultComponentAnyFlagsAnyManufacturerAnySubType = 7;
  85.  
  86. {  RegisterComponentResource flags  }
  87.     registerComponentGlobal        = 1;
  88.     registerComponentNoDuplicates = 2;
  89.     registerComponentAfterExisting = 4;
  90.  
  91.  
  92. TYPE
  93.     ComponentDescriptionPtr = ^ComponentDescription;
  94.     ComponentDescription = RECORD
  95.         componentType:            OSType;                                    {  A unique 4-byte code indentifying the command set  }
  96.         componentSubType:        OSType;                                    {  Particular flavor of this instance  }
  97.         componentManufacturer:    OSType;                                    {  Vendor indentification  }
  98.         componentFlags:            LONGINT;                                {  8 each for Component,Type,SubType,Manuf/revision  }
  99.         componentFlagsMask:        LONGINT;                                {  Mask for specifying which flags to consider in search, zero during registration  }
  100.     END;
  101.  
  102.     ResourceSpecPtr = ^ResourceSpec;
  103.     ResourceSpec = RECORD
  104.         resType:                OSType;                                    {  4-byte code      }
  105.         resID:                    INTEGER;                                {                }
  106.     END;
  107.  
  108.     ComponentResourcePtr = ^ComponentResource;
  109.     ComponentResource = RECORD
  110.         cd:                        ComponentDescription;                    {  Registration parameters  }
  111.         component:                ResourceSpec;                            {  resource where Component code is found  }
  112.         componentName:            ResourceSpec;                            {  name string resource  }
  113.         componentInfo:            ResourceSpec;                            {  info string resource  }
  114.         componentIcon:            ResourceSpec;                            {  icon resource  }
  115.     END;
  116.  
  117.     ComponentResourceHandle                = ^ComponentResourcePtr;
  118.     ComponentPlatformInfoPtr = ^ComponentPlatformInfo;
  119.     ComponentPlatformInfo = RECORD
  120.         componentFlags:            LONGINT;                                {  flags of Component  }
  121.         component:                ResourceSpec;                            {  resource where Component code is found  }
  122.         platformType:            INTEGER;                                {  gestaltSysArchitecture result  }
  123.     END;
  124.  
  125.     ComponentResourceExtensionPtr = ^ComponentResourceExtension;
  126.     ComponentResourceExtension = RECORD
  127.         componentVersion:        LONGINT;                                {  version of Component  }
  128.         componentRegisterFlags:    LONGINT;                                {  flags for registration  }
  129.         componentIconFamily:    INTEGER;                                {  resource id of Icon Family  }
  130.     END;
  131.  
  132.     ComponentPlatformInfoArrayPtr = ^ComponentPlatformInfoArray;
  133.     ComponentPlatformInfoArray = RECORD
  134.         count:                    LONGINT;
  135.         platformArray:            ARRAY [0..0] OF ComponentPlatformInfo;
  136.     END;
  137.  
  138.     ExtComponentResourcePtr = ^ExtComponentResource;
  139.     ExtComponentResource = RECORD
  140.         cd:                        ComponentDescription;                    {  registration parameters  }
  141.         component:                ResourceSpec;                            {  resource where Component code is found  }
  142.         componentName:            ResourceSpec;                            {  name string resource  }
  143.         componentInfo:            ResourceSpec;                            {  info string resource  }
  144.         componentIcon:            ResourceSpec;                            {  icon resource  }
  145.         componentVersion:        LONGINT;                                {  version of Component  }
  146.         componentRegisterFlags:    LONGINT;                                {  flags for registration  }
  147.         componentIconFamily:    INTEGER;                                {  resource id of Icon Family  }
  148.         count:                    LONGINT;                                {  elements in platformArray  }
  149.         platformArray:            ARRAY [0..0] OF ComponentPlatformInfo;
  150.     END;
  151.  
  152. {   Structure received by Component:         }
  153.     ComponentParametersPtr = ^ComponentParameters;
  154.     ComponentParameters = PACKED RECORD
  155.         flags:                    UInt8;                                    {  call modifiers: sync/async, deferred, immed, etc  }
  156.         paramSize:                UInt8;                                    {  size in bytes of actual parameters passed to this call  }
  157.         what:                    INTEGER;                                {  routine selector, negative for Component management calls  }
  158.         params:                    ARRAY [0..0] OF LONGINT;                {  actual parameters for the indicated routine  }
  159.     END;
  160.  
  161.     ComponentRecordPtr = ^ComponentRecord;
  162.     ComponentRecord = RECORD
  163.         data:                    ARRAY [0..0] OF LONGINT;
  164.     END;
  165.  
  166.     Component                            = ^ComponentRecord;
  167.     ComponentInstanceRecordPtr = ^ComponentInstanceRecord;
  168.     ComponentInstanceRecord = RECORD
  169.         data:                    ARRAY [0..0] OF LONGINT;
  170.     END;
  171.  
  172.     ComponentInstance                    = ^ComponentInstanceRecord;
  173.     RegisteredComponentRecordPtr = ^RegisteredComponentRecord;
  174.     RegisteredComponentRecord = RECORD
  175.         data:                    ARRAY [0..0] OF LONGINT;
  176.     END;
  177.  
  178.     RegisteredComponentPtr                = ^RegisteredComponentRecord;
  179.     RegisteredComponentInstanceRecordPtr = ^RegisteredComponentInstanceRecord;
  180.     RegisteredComponentInstanceRecord = RECORD
  181.         data:                    ARRAY [0..0] OF LONGINT;
  182.     END;
  183.  
  184.     RegisteredComponentInstancePtr        = ^RegisteredComponentInstanceRecord;
  185.     ComponentResult                        = LONGINT;
  186.  
  187. CONST
  188.     mpWorkFlagDoWork            = $01;
  189.     mpWorkFlagDoCompletion        = $02;
  190.     mpWorkFlagCopyWorkBlock        = $04;
  191.     mpWorkFlagDontBlock            = $08;
  192.     mpWorkFlagGetProcessorCount    = $10;
  193.     mpWorkFlagGetIsRunning        = $40;
  194.  
  195.  
  196. TYPE
  197.     ComponentMPWorkFunctionHeaderRecordPtr = ^ComponentMPWorkFunctionHeaderRecord;
  198.     ComponentMPWorkFunctionHeaderRecord = RECORD
  199.         headerSize:                UInt32;
  200.         recordSize:                UInt32;
  201.         workFlags:                UInt32;
  202.         processorCount:            UInt16;
  203.         unused:                    SInt8;
  204.         isRunning:                SInt8;
  205.     END;
  206.  
  207.     ComponentMPWorkFunctionProcPtr = ProcPtr;  { FUNCTION ComponentMPWorkFunction(globalRefCon: UNIV Ptr; header: ComponentMPWorkFunctionHeaderRecordPtr): ComponentResult; }
  208.  
  209.     ComponentRoutineProcPtr = ProcPtr;  { FUNCTION ComponentRoutine(VAR cp: ComponentParameters; componentStorage: Handle): ComponentResult; }
  210.  
  211.     ComponentMPWorkFunctionUPP = UniversalProcPtr;
  212.     ComponentRoutineUPP = UniversalProcPtr;
  213. {
  214.     The parameter list for each ComponentFunction is unique. It is 
  215.     therefore up to users to create the appropriate procInfo for their 
  216.     own ComponentFunctions where necessary.
  217. }
  218.     ComponentFunctionUPP                = UniversalProcPtr;
  219. {
  220. *******************************************************
  221. *                                                        *
  222. *                  APPLICATION LEVEL CALLS                    *
  223. *                                                        *
  224. *******************************************************
  225. }
  226. {
  227. *******************************************************
  228. * Component Database Add, Delete, and Query Routines 
  229. *******************************************************
  230. }
  231. FUNCTION RegisterComponent(VAR cd: ComponentDescription; componentEntryPoint: ComponentRoutineUPP; global: INTEGER; componentName: Handle; componentInfo: Handle; componentIcon: Handle): Component;
  232.     {$IFC NOT GENERATINGCFM}
  233.     INLINE $7001, $A82A;
  234.     {$ENDC}
  235. FUNCTION RegisterComponentResource(cr: ComponentResourceHandle; global: INTEGER): Component;
  236.     {$IFC NOT GENERATINGCFM}
  237.     INLINE $7012, $A82A;
  238.     {$ENDC}
  239. FUNCTION UnregisterComponent(aComponent: Component): OSErr;
  240.     {$IFC NOT GENERATINGCFM}
  241.     INLINE $7002, $A82A;
  242.     {$ENDC}
  243. FUNCTION FindNextComponent(aComponent: Component; VAR looking: ComponentDescription): Component;
  244.     {$IFC NOT GENERATINGCFM}
  245.     INLINE $7004, $A82A;
  246.     {$ENDC}
  247. FUNCTION CountComponents(VAR looking: ComponentDescription): LONGINT;
  248.     {$IFC NOT GENERATINGCFM}
  249.     INLINE $7003, $A82A;
  250.     {$ENDC}
  251. FUNCTION GetComponentInfo(aComponent: Component; VAR cd: ComponentDescription; componentName: Handle; componentInfo: Handle; componentIcon: Handle): OSErr;
  252.     {$IFC NOT GENERATINGCFM}
  253.     INLINE $7005, $A82A;
  254.     {$ENDC}
  255. FUNCTION GetComponentListModSeed: LONGINT;
  256.     {$IFC NOT GENERATINGCFM}
  257.     INLINE $7006, $A82A;
  258.     {$ENDC}
  259. FUNCTION GetComponentTypeModSeed(componentType: OSType): LONGINT;
  260.     {$IFC NOT GENERATINGCFM}
  261.     INLINE $702C, $A82A;
  262.     {$ENDC}
  263. {
  264. *******************************************************
  265. * Component Instance Allocation and dispatch routines 
  266. *******************************************************
  267. }
  268. FUNCTION OpenAComponent(aComponent: Component; VAR ci: ComponentInstance): OSErr;
  269.     {$IFC NOT GENERATINGCFM}
  270.     INLINE $702D, $A82A;
  271.     {$ENDC}
  272. FUNCTION OpenComponent(aComponent: Component): ComponentInstance;
  273.     {$IFC NOT GENERATINGCFM}
  274.     INLINE $7007, $A82A;
  275.     {$ENDC}
  276. FUNCTION CloseComponent(aComponentInstance: ComponentInstance): OSErr;
  277.     {$IFC NOT GENERATINGCFM}
  278.     INLINE $7008, $A82A;
  279.     {$ENDC}
  280. FUNCTION GetComponentInstanceError(aComponentInstance: ComponentInstance): OSErr;
  281.     {$IFC NOT GENERATINGCFM}
  282.     INLINE $700A, $A82A;
  283.     {$ENDC}
  284. {
  285. *******************************************************
  286. *                                                        *
  287. *                      CALLS MADE BY COMPONENTS              *
  288. *                                                        *
  289. *******************************************************
  290. }
  291. {
  292. *******************************************************
  293. * Component Management routines
  294. *******************************************************
  295. }
  296. PROCEDURE SetComponentInstanceError(aComponentInstance: ComponentInstance; theError: OSErr);
  297.     {$IFC NOT GENERATINGCFM}
  298.     INLINE $700B, $A82A;
  299.     {$ENDC}
  300. FUNCTION GetComponentRefcon(aComponent: Component): LONGINT;
  301.     {$IFC NOT GENERATINGCFM}
  302.     INLINE $7010, $A82A;
  303.     {$ENDC}
  304. PROCEDURE SetComponentRefcon(aComponent: Component; theRefcon: LONGINT);
  305.     {$IFC NOT GENERATINGCFM}
  306.     INLINE $7011, $A82A;
  307.     {$ENDC}
  308. FUNCTION OpenComponentResFile(aComponent: Component): INTEGER;
  309.     {$IFC NOT GENERATINGCFM}
  310.     INLINE $7015, $A82A;
  311.     {$ENDC}
  312. FUNCTION OpenAComponentResFile(aComponent: Component; VAR resRef: INTEGER): OSErr;
  313.     {$IFC NOT GENERATINGCFM}
  314.     INLINE $702F, $A82A;
  315.     {$ENDC}
  316. FUNCTION CloseComponentResFile(refnum: INTEGER): OSErr;
  317.     {$IFC NOT GENERATINGCFM}
  318.     INLINE $7018, $A82A;
  319.     {$ENDC}
  320. {
  321. *******************************************************
  322. * Component Instance Management routines
  323. *******************************************************
  324. }
  325. FUNCTION GetComponentInstanceStorage(aComponentInstance: ComponentInstance): Handle;
  326.     {$IFC NOT GENERATINGCFM}
  327.     INLINE $700C, $A82A;
  328.     {$ENDC}
  329. PROCEDURE SetComponentInstanceStorage(aComponentInstance: ComponentInstance; theStorage: Handle);
  330.     {$IFC NOT GENERATINGCFM}
  331.     INLINE $700D, $A82A;
  332.     {$ENDC}
  333. FUNCTION GetComponentInstanceA5(aComponentInstance: ComponentInstance): LONGINT;
  334.     {$IFC NOT GENERATINGCFM}
  335.     INLINE $700E, $A82A;
  336.     {$ENDC}
  337. PROCEDURE SetComponentInstanceA5(aComponentInstance: ComponentInstance; theA5: LONGINT);
  338.     {$IFC NOT GENERATINGCFM}
  339.     INLINE $700F, $A82A;
  340.     {$ENDC}
  341. FUNCTION CountComponentInstances(aComponent: Component): LONGINT;
  342.     {$IFC NOT GENERATINGCFM}
  343.     INLINE $7013, $A82A;
  344.     {$ENDC}
  345. {  useful helper routines for convenient method dispatching  }
  346. FUNCTION CallComponentFunction(VAR params: ComponentParameters; func: ComponentFunctionUPP): LONGINT;
  347.     {$IFC NOT GENERATINGCFM}
  348.     INLINE $70FF, $A82A;
  349.     {$ENDC}
  350. FUNCTION CallComponentFunctionWithStorage(storage: Handle; VAR params: ComponentParameters; func: ComponentFunctionUPP): LONGINT;
  351.     {$IFC NOT GENERATINGCFM}
  352.     INLINE $70FF, $A82A;
  353.     {$ENDC}
  354. {$IFC GENERATINGPOWERPC }
  355. FUNCTION CallComponentFunctionWithStorageProcInfo(storage: Handle; VAR params: ComponentParameters; func: ProcPtr; funcProcInfo: LONGINT): LONGINT;
  356. {$ELSEC}
  357. {$ENDC}
  358. FUNCTION DelegateComponentCall(VAR originalParams: ComponentParameters; ci: ComponentInstance): LONGINT;
  359.     {$IFC NOT GENERATINGCFM}
  360.     INLINE $7024, $A82A;
  361.     {$ENDC}
  362. FUNCTION SetDefaultComponent(aComponent: Component; flags: INTEGER): OSErr;
  363.     {$IFC NOT GENERATINGCFM}
  364.     INLINE $701E, $A82A;
  365.     {$ENDC}
  366. FUNCTION OpenDefaultComponent(componentType: OSType; componentSubType: OSType): ComponentInstance;
  367.     {$IFC NOT GENERATINGCFM}
  368.     INLINE $7021, $A82A;
  369.     {$ENDC}
  370. FUNCTION OpenADefaultComponent(componentType: OSType; componentSubType: OSType; VAR ci: ComponentInstance): OSErr;
  371.     {$IFC NOT GENERATINGCFM}
  372.     INLINE $702E, $A82A;
  373.     {$ENDC}
  374. FUNCTION CaptureComponent(capturedComponent: Component; capturingComponent: Component): Component;
  375.     {$IFC NOT GENERATINGCFM}
  376.     INLINE $701C, $A82A;
  377.     {$ENDC}
  378. FUNCTION UncaptureComponent(aComponent: Component): OSErr;
  379.     {$IFC NOT GENERATINGCFM}
  380.     INLINE $701D, $A82A;
  381.     {$ENDC}
  382. FUNCTION RegisterComponentResourceFile(resRefNum: INTEGER; global: INTEGER): LONGINT;
  383.     {$IFC NOT GENERATINGCFM}
  384.     INLINE $7014, $A82A;
  385.     {$ENDC}
  386. FUNCTION GetComponentIconSuite(aComponent: Component; VAR iconSuite: Handle): OSErr;
  387.     {$IFC NOT GENERATINGCFM}
  388.     INLINE $7029, $A82A;
  389.     {$ENDC}
  390. {
  391. *******************************************************
  392. *                                                        *
  393. *              Direct calls to the Components                *
  394. *                                                        *
  395. *******************************************************
  396. }
  397. {  Old style names }
  398. FUNCTION ComponentFunctionImplemented(ci: ComponentInstance; ftnNumber: INTEGER): LONGINT;
  399.     {$IFC NOT GENERATINGCFM}
  400.     INLINE $2F3C, $0002, $FFFD, $7000, $A82A;
  401.     {$ENDC}
  402. FUNCTION GetComponentVersion(ci: ComponentInstance): LONGINT;
  403.     {$IFC NOT GENERATINGCFM}
  404.     INLINE $2F3C, $0000, $FFFC, $7000, $A82A;
  405.     {$ENDC}
  406. FUNCTION ComponentSetTarget(ci: ComponentInstance; target: ComponentInstance): LONGINT;
  407.     {$IFC NOT GENERATINGCFM}
  408.     INLINE $2F3C, $0004, $FFFA, $7000, $A82A;
  409.     {$ENDC}
  410. {  New style names }
  411. FUNCTION CallComponentOpen(ci: ComponentInstance; self: ComponentInstance): ComponentResult;
  412.     {$IFC NOT GENERATINGCFM}
  413.     INLINE $2F3C, $0004, $FFFF, $7000, $A82A;
  414.     {$ENDC}
  415. FUNCTION CallComponentClose(ci: ComponentInstance; self: ComponentInstance): ComponentResult;
  416.     {$IFC NOT GENERATINGCFM}
  417.     INLINE $2F3C, $0004, $FFFE, $7000, $A82A;
  418.     {$ENDC}
  419. FUNCTION CallComponentCanDo(ci: ComponentInstance; ftnNumber: INTEGER): ComponentResult;
  420.     {$IFC NOT GENERATINGCFM}
  421.     INLINE $2F3C, $0002, $FFFD, $7000, $A82A;
  422.     {$ENDC}
  423. FUNCTION CallComponentVersion(ci: ComponentInstance): ComponentResult;
  424.     {$IFC NOT GENERATINGCFM}
  425.     INLINE $2F3C, $0000, $FFFC, $7000, $A82A;
  426.     {$ENDC}
  427. FUNCTION CallComponentRegister(ci: ComponentInstance): ComponentResult;
  428.     {$IFC NOT GENERATINGCFM}
  429.     INLINE $2F3C, $0000, $FFFB, $7000, $A82A;
  430.     {$ENDC}
  431. FUNCTION CallComponentTarget(ci: ComponentInstance; target: ComponentInstance): ComponentResult;
  432.     {$IFC NOT GENERATINGCFM}
  433.     INLINE $2F3C, $0004, $FFFA, $7000, $A82A;
  434.     {$ENDC}
  435. FUNCTION CallComponentUnregister(ci: ComponentInstance): ComponentResult;
  436.     {$IFC NOT GENERATINGCFM}
  437.     INLINE $2F3C, $0000, $FFF9, $7000, $A82A;
  438.     {$ENDC}
  439. FUNCTION CallComponentGetMPWorkFunction(ci: ComponentInstance; VAR workFunction: ComponentMPWorkFunctionUPP; VAR refCon: UNIV Ptr): ComponentResult;
  440.     {$IFC NOT GENERATINGCFM}
  441.     INLINE $2F3C, $0008, $FFF8, $7000, $A82A;
  442.     {$ENDC}
  443. {  UPP call backs  }
  444.  
  445. CONST
  446.     uppComponentMPWorkFunctionProcInfo = $000003F0;
  447.     uppComponentRoutineProcInfo = $000003F0;
  448.  
  449. FUNCTION NewComponentMPWorkFunctionProc(userRoutine: ComponentMPWorkFunctionProcPtr): ComponentMPWorkFunctionUPP;
  450.     {$IFC NOT GENERATINGCFM }
  451.     INLINE $2E9F;
  452.     {$ENDC}
  453.  
  454. FUNCTION NewComponentRoutineProc(userRoutine: ComponentRoutineProcPtr): ComponentRoutineUPP;
  455.     {$IFC NOT GENERATINGCFM }
  456.     INLINE $2E9F;
  457.     {$ENDC}
  458.  
  459. FUNCTION CallComponentMPWorkFunctionProc(globalRefCon: UNIV Ptr; header: ComponentMPWorkFunctionHeaderRecordPtr; userRoutine: ComponentMPWorkFunctionUPP): ComponentResult;
  460.     {$IFC NOT GENERATINGCFM}
  461.     INLINE $205F, $4E90;
  462.     {$ENDC}
  463.  
  464. FUNCTION CallComponentRoutineProc(VAR cp: ComponentParameters; componentStorage: Handle; userRoutine: ComponentRoutineUPP): ComponentResult;
  465.     {$IFC NOT GENERATINGCFM}
  466.     INLINE $205F, $4E90;
  467.     {$ENDC}
  468. {  ProcInfos  }
  469. {$ALIGN RESET}
  470. {$POP}
  471.  
  472. {$SETC UsingIncludes := ComponentsIncludes}
  473.  
  474. {$ENDC} {__COMPONENTS__}
  475.  
  476. {$IFC NOT UsingIncludes}
  477.  END.
  478. {$ENDC}
  479.